// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Flags: --allow-natives-syntax --expose-ArkTools.gc --no-lazy

function f() {
  for (var i = 0; i < 10; i++) if (i == 5) ArkTools.optimizeOsr();
  function g() {}
  ArkTools.prepareFunctionForOptimization(g);
  ArkTools.optimizeFunctionOnNextCall(g);
  g();
}
ArkTools.prepareFunctionForOptimization(f);
f();
ArkTools.gc();  // Make sure that ...
ArkTools.gc();  // ... code flushing ...
ArkTools.gc();  // ... clears code ...
ArkTools.gc();  // ... attached to {g}.
ArkTools.prepareFunctionForOptimization(f);
f();
